package com.itany.corejava.code07_面向对象.继承;

/**
 * @author MissChen
 * @version 1.0
 * @date 2023 年11月03日 14:59
 */
public class MotorVehicle {
    private String no;//车牌号
    private String brand;//品牌
    void show(){
        System.out.println("我是机动车");
    }
    public void showBrand(){
        System.out.println("这是一辆"+brand+"牌的机动车");
    }

}
class Car extends MotorVehicle{
    private String type;//型号

    //这是重写父类的show方法
    // 子类方法的修饰符不能小于父类的修饰符
    // private <默认的<protected<public
     public void show(){
        System.out.println("我是一辆小轿车");
    }
    public void showBrand(int i){
        System.out.println("我是一辆奔驰轿车"+i);
    }
}
class Bus extends MotorVehicle{
    private int seatCount;//座位数

    //这是重写父类的方法
    public void show(){
        System.out.println("我是一辆大巴车");
    }
}

/*结论:
    子类与父类中的方法名、参数列表、返回值类型一致的情况下，这种就是子类重写了父类的方法
    子类方法的修饰符不能小于父类的修饰符
    private <默认的<protected<public
    子类不能抛出比父类大的异常


   */
class TestVehicle{
    public static void main(String[] args) {
        Car car=new Car();
        car.show();
        car.showBrand();
        car.showBrand(100);
        Bus bus=new Bus();
        bus.show();
    }
}